--- llist.c.orig	2008-06-12 02:41:16.000000000 -0400
+++ llist.c	2008-06-12 02:42:31.000000000 -0400
@@ -351,8 +351,7 @@
 		case 'd':	l->e = (void *)malloc(sizeof(int));
 					*((int *)l->e) = va_arg(*ap, int);
 					break;
-		case 's':	l->e = (void *)malloc(sizeof(char *));
-					(char *)l->e = strdup(va_arg(*ap, char *));
+		case 's':	l->e = (void*)strdup(va_arg(*ap, char *));
 					break;
 		case 'f':	l->e = (void *)malloc(sizeof(double));
 					*((double *)l->e) = va_arg(*ap, double);
